Skip to main content
Glama

Indigo MCP Server Plugin

by mlamoure
auth_manager.py2.06 kB
""" Authentication manager for MCP server bearer token generation and validation. """ import secrets import string import logging from typing import Optional class AuthManager: """Manages bearer token generation and validation for MCP server.""" def __init__(self, logger: Optional[logging.Logger] = None): """ Initialize the auth manager. Args: logger: Optional logger instance """ self.logger = logger or logging.getLogger("Plugin") def generate_bearer_token(self, length: int = 64) -> str: """ Generate a cryptographically secure bearer token. Args: length: Length of the token (default: 64 characters) Returns: Generated bearer token string """ # Use URL-safe characters for the token alphabet = string.ascii_letters + string.digits + '-_' token = ''.join(secrets.choice(alphabet) for _ in range(length)) self.logger.debug(f"Generated new bearer token of length {length}") return token def validate_token_format(self, token: str) -> bool: """ Validate that a token has the correct format. Args: token: Token to validate Returns: True if token format is valid, False otherwise """ if not token or not isinstance(token, str): return False # Check length (minimum 32 characters) if len(token) < 32: return False # Check that it only contains valid characters valid_chars = set(string.ascii_letters + string.digits + '-_') return all(c in valid_chars for c in token) def create_auth_header(self, token: str) -> str: """ Create authorization header value from token. Args: token: Bearer token Returns: Authorization header value """ return f"Bearer {token}"

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mlamoure/indigo-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server